    Mar 8, 1991              See Mail Information                   Page 1





                            ╔═══════════════════════════╗
                            ║                           ║
                            ║  See Mail Information     ║
                            ║                           ║
                            ╚═══════════════════════════╝


                                   TABLE OF CONTENTS

    Program Design Philosophy . . . . . . . . . . . . . . . . . . . .    2
       Introduction . . . . . . . . . . . . . . . . . . . . . . . . .    2
       Using Prolog . . . . . . . . . . . . . . . . . . . . . . . . .    2
       Objectives . . . . . . . . . . . . . . . . . . . . . . . . . .    3
    Program specification . . . . . . . . . . . . . . . . . . . . . .    3
       System Requirements  . . . . . . . . . . . . . . . . . . . . .    3
       Video Support  . . . . . . . . . . . . . . . . . . . . . . . .    3
    Help System . . . . . . . . . . . . . . . . . . . . . . . . . . .    4
    Mail Folder System  . . . . . . . . . . . . . . . . . . . . . . .    4
    Creating outgoing mail  . . . . . . . . . . . . . . . . . . . . .    5
       MCI Mail . . . . . . . . . . . . . . . . . . . . . . . . . . .    5
       Internal mail  . . . . . . . . . . . . . . . . . . . . . . . .    5
       Paper Mail . . . . . . . . . . . . . . . . . . . . . . . . . .    5
       Other DOS files  . . . . . . . . . . . . . . . . . . . . . . .    6
       Replying to and forwarding mail. . . . . . . . . . . . . . . .    6
    MCI Mail  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6
    Internal Mail . . . . . . . . . . . . . . . . . . . . . . . . . .    6
    Paper Mail & FAX's  . . . . . . . . . . . . . . . . . . . . . . .    7
    Displaying & Editing  . . . . . . . . . . . . . . . . . . . . . .    7
    Printing & Reports  . . . . . . . . . . . . . . . . . . . . . . .    8
    Interfacing to Wordprocessors . . . . . . . . . . . . . . . . . .    9
    Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
    Setup & Configuration . . . . . . . . . . . . . . . . . . . . . .   11
    Overview of DOS environment . . . . . . . . . . . . . . . . . . .   11
    DOS batch files . . . . . . . . . . . . . . . . . . . . . . . . .   12
    Data bank . . . . . . . . . . . . . . . . . . . . . . . . . . . .   13
    Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
    Editing external files  . . . . . . . . . . . . . . . . . . . . .   14
    Toolkit Programs  . . . . . . . . . . . . . . . . . . . . . . . .   14
    Notes for Advanced Users  . . . . . . . . . . . . . . . . . . . .   14
    Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   15
    Prolog error messages . . . . . . . . . . . . . . . . . . . . . .   16















______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 2



Program Design Philosophy

Introduction

   The reason for creating this program was initially to provide users
     of Lotus Express with access to good reporting facilities while
     also freeing them from the need to have Lotus Express in memory.
     That therefore meant that LAN software and 3270 mainframe emula-
     tion software could be used without sacrificing access to your
     E-mail messages.

   The program has expanded from that base to provide complete E-Mail
     services including internal and external mail. To support this
     there is an integrated database system, mail archiving facilities,
     and a range of editing, printing and reporting, and file handling
     tools.

   The reporting facilities mean that reports can be sent via mail and
     then printed with correct page control by the recipients.  Also
     text boxes can be used to highlight paragraphs and headings. This
     also means that reports prepared in a wordprocessor such as
     Word-Perfect can be formatted for sending over mail. ( See
     interfacing section for details on how this works ).

   The built in editor allows cut & paste along with extended editing
     of multiple files. This means new memos can be constructed easily
     with extracts from existing mail.

   The project was made feasible because of the initial work done for
     the LISTER program which is a general purpose text file utility.
     Much of the original routines have been included from Lister. The
     new features give access directly to your mail folders and
     messages. There is also a link to archiving utilities, to ease
     the burden and disk overhead of keeping old mail for reference.

   This program is intended to be simple to use and to provide the
     fundimental features required for E-Mail. I hope you find it to
     be a useful tool.

    (Note: Lister23.zip is available on Compuserve, GO PCVENB, Area
     11)


Using Prolog

   Using Prolog for this application demonstrates the power of modern
     languages. The elegance of Prolog made light work of many
     features and generally produced very pure and robust code. The
     main trade-off being the thirst for memory, but that is small by
     comparison to the number of features available within the
     program.






______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 3



Objectives

   This program is designed to make powerful tools available to even
     non-technical users. It has extensive output and printing
     features allowing processing of ASCII text type data files. It
     supports use of LAN devices and printers. It can be used for
     producing small documents, letters and so on. Those familiar with
     either WordStar, Multimate, and or Borland's programming editor
     environment will find it particularly easy to assimulate.

   It is designed to be something more than just a file browse tool,
     but does not approach in complexity a complete DOS shell
     facility. Above all it is designed to be simple and intuitive to
     use, with obvious command keys and user prompts.


Program specification

System Requirements

   The program requires at least 350k to provide the minimum
     functions, so your machine should be equipped with not less than
     512k of memory, 640k if use of the LAN features is intended. The
     program should be run from a hard disk with disk caching enabled,
     or large DOS buffers available. It works with MDA, CGA, EGA, and
     VGA displays, and also the clone style composite CGA/Mono
     displays. DOS version 3.0, or higher, is required.

   The program warns if available memory is less than 90k but it will
     still run, however some functions will be restricted. Having more
     memory available will prevent errors occurring through stack
     over-flows and the like. There is no special requirement for DOS
     files and buffers, or other environment parameters.

   Use of memory extenders for EGA/VGA equipped systems that disable
     graphics and thus provide DOS with 730k+ of base memory will
     allow especially large numbers of mail files & folders to be
     managed.

   The program runs on any LAN supporting IBM NetBIOS, and also Novell
     NetWare based LANs.


Video Support

   The program can be made to switch to the highest resolution avail-
     able to display your files. (See the Setup display option for
     details). You can also configure the colours used with all or any
     of the major components. Users of portable systems may especially
     need to make adjustments to suit the display they have available.







______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 4



Help System

   The help system consists of four components.

   - Overall program help
   - Help for each item of the pulldown menu system.
   - Editor help within the text editor.
   - Specific help for some of the more complex features such as text
     formatting and the data bank.

   The overall help if contained in this file, and it can either be
     viewed or printed for reference. This file is intended only to be
     a quick summary of the See Mail Manual that is available to
     registered users.

   Pulldown menu help is accessed by placing the cursor on specific
     menu item and then pressing <F1>.

   Editor help is available by pressing <F1> within the editor.

   Specific help for special features is available as a menu option
     within the feature. Data bank help can be accessed via <F1> while
     displaying a data bank entry screen.


Mail Folder System

   See-Mail keeps mail items within a folder system. It defaults to
     the naming convension used by Lotus Express, that is the main
     directory is called MAILSYS, folders are suffixed with <*.FLD>
     and mail items are suffixed with <*.LTR>. You can change this as
     you require using the SETUP function, i.e. Mail Clerk users would
     select <*.*> as the folder suffix, <*.MSG> for the mail items,
     and MAIL as the main directory.

   Whatever you choose as you main directory you MUST create that
     directory before attempting to create or receive mail.

   See-Mail allocates a number of folders for you, these are OUTGOING,
     INCOMING, SENT, UNSENT, and DRAFTS. Mail you create should be
     placed in OUTGOING once it is ready to be sent. You should then
     run the INTERNAL, and or the EXTERNAL mail post facilities. These
     will then having processed your mail, move the mail items to the
     appropriate folders.

   You can create your own folders using the Editor Hot Keys to access
     the UTILITY functions from within the editor.










______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 5



Creating outgoing mail

MCI Mail

   See Mail supports the complete range of MCI Mail from fax's to X400
     standard EMS E-Mail. You are prompted at each stage to make the
     correct selections. You can refer to the databank to cut and paste
     address information to your mail items. If you are creating new
     mail you will need to put the mail item into the DRAFTS folder
     before you can do this. For old mail you can look up information
     in the databank prior to replying to or forwarding your mail.
     Replying and forwarding are accessed via the editor hot keys menu
     function. (<Alt><1> and then either <1> or <2>)

   You can setup mailing lists using the data bank menu, and the Mail
     list option. If you have existing mail containing the MCI Mail
     address list that you want to use you can paste this list to the
     paste buffer prior to using the edit mail list facility.

   Similarly you can edit and change the standard messages file to
     hold text that you use often. Such text should always be entered
     in the same manner in the msg files, i.e. %%%% preceding the
     heading, followed by a blank line, and then %%% terminating the
     message text itself.


Internal mail

   Two types of internal mail are possible, purely internal mail, or
     mixed mail, where the first address(es) are to MCI Mail.

   In either case the mail should be SENT FIRST with the INTERNAL mail
     post option. If it is mixed mail it can then be sent to MCI Mail
     to complete the external delivery.

   When creating any type of mail you may need to reformat the text
     before sending it. To do this move the mail item to the DRAFTS
     folder, then select VIEW, to re-edit the file. Use the hot key
     option <6> to format the text. YOU MUST read the HELP
     instructions  available for text formatting BEFORE attempting to
     use it. In particular you MUST ensure your paragraphs are
     separated by two newline characters. Press <ALT-I> in the editor
     to ensure these are correctly entered.


Paper Mail

   Paper mail can be set up in the same way as regular mail. However
     to avoid printing the standard From:, To:, Subject:, heading just
     move the cursor to below this test in the document before
     printing.






______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 6



Other DOS files

   If you require a complete new file then this option places you into
     the editor with an empty file to work from.

   The new file is automatically called SEE-MAIL.NEW, if it already
     exists it will be loaded in again. Use the DOS utilities to
     rename the file to whatever you require.


Replying to and forwarding mail.

   Any mail you have received can be easily replied to by using the
     hot-key <Alt><1> sequence from within the editor. This then
     retrieves the address information from the mail item you are
     viewing (based on the cursor position) and prompts you to create
     the new mail item.


MCI Mail

   The MCI Mail option of the mailBox runs the MCIMail program.  This
     is a utility supplied for use with See Mail.  If you need more
     information about it refer to the SEE-MAIL.DOC file.

   Use the Setup menu option to define the type of modem you are
     using, and your MCI Mail account details. You are then ready to
     send/receive MCI Mail directly.

   Addressing errors, or transmission errors can be reviewed by
     selecting the Review transmission log option. This provides a
     convenient way of viewing the MCI Mail session log. You can cut
     and paste the correct address for the log into your mail item in
     the UNSENT folder if you missed addressed an item. (Save the
     address in the databank for future reference).

   If the transmission log file exceeds 64k in size you will only be
     able to view the first 32k. (This may happen for instance if you
     sent 15 messages, each 4k long and you wanted to review them all.
     You could use the DOS command: type emma.log | more to review
     these details in that case).

   There is a timed polling feature that allows you to access MCI Mail
     unattended after a pre-set time. If is useful for overnight
     access, or to run during the day while you are away from your
     desk.


Internal Mail

   To use this facility you should have access to a LAN. (You can
     demonstrate it if you like be creating a mailbox on your local
     hard disk, you can then just send and receive messages yourself).




______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 7



   To setup on a LAN you should establish an area on the LAN server
     that everyone has fully read/write/create/delete writes to
     access. You can then place your mailbox in the area. To do so you
     use the main SETUP option for communications and specify the
     location of this area. I.e. it might be called P:\MAIL, you then
     select the Configure mail option and the create mail system. See
     Mail will then automatically build the files it needs. You should
     then immediately Add your user details to the new mail system.
     Passwords are optional, pressing enter will cause password
     prompting to be suppressed.

   Internal mail users are organised in groups. Once you have created
     the mailbox area and the first user, anyone else can access the
     mailbox and add themselves to the appropriate group. Groups of
     low priority cannot send mail to higher priority group members.
     High priority member can send mail to anyone of equal or lower
     priority. To disable this checking just assign the same priority
     level to all groups.

   People can add themselves to as many groups as they like, this
     provides an easy way to send mail to interested parties by just
     selecting all groups members for your mail item.

   In this version of the program mail is not encrypted, so you should
     avoid sending sensitive items unless they are to be retrieved
     immediately  (and therefore are deleted off the network system).


Paper Mail & FAX's

   Paper mail and FAX's that you send through the regular mail, and or
     FAX using a FAX machine can still be stored within See Mail. Just
     move the cursor below the "To: From: Subject:" lines and then
     print the item. This allows you to take advantage of the databank
     for all your correspondence, not just E-Mail. After creating
     mail, you can view it from the DRAFTS folder and then access the
     databank to cut and paste address information, or use the Mail
     Lists options to keep copies of addresses you use often.


Displaying & Editing

   The editor available works in two modes. If your file is up to 64k
     in size the entire file is loaded into the editor, and you can
     edit supplementary files by pressing F8 or F7, and cut and paste
     text accordingly.

   If your file is larger than 64k then only the first 32k can be
     loaded into the editor. (This may also happen if there is insuf-
     ficient memory available to load your entire file into the main
     editor).

   You can re-size and re-position the editor window using Shift-F10.




______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 8



   To see a file you must first select the folder that it is in, the
     highlight the specific entry in the folder list, and press enter.

   From within the editor you can hot key <Alt> to access a range
     of special functions and tools, including printing.

   When printing remember that printing is done FROM the CURRENT
     cursor position. If you want the whole text be sure to press
     <Ctrl-PgUp> to return the cursor to the top before printing. This
     is ALSO necessary even if you exit, and then print a selection of
     files using the Select and Print option.


Printing & Reports

   Hopefully this feature is self evident from the menus and options
     it provides. It really requires that you experiment to get the
     full potential from the system. The defaults are setup so that
     most of the time you can just press enter without having to pause
     too much for thought. However, you cannot backup on selections,
     so if you go wrong, just continue to the Confirm prompt and press
     anything but C to continue! You can then go back around and try
     again. (If you really mess up you can always abort the output).

   When using Page Headers and the flexible page control feature a few
     provisos are needed. Form feed characters must be either the
     first character, or the last character on a line, and preferably
     the only character on the line. However page control strings such
     as /*page*/ or %page can be anywhere on the line, but again, any
     other text on the same line will not be printed. Also a caution,
     select a unique page delimiter. For instance if your COBOL source
     contains EJECT as part of a variable or procedure name, that line
     will be treated as a page EJECT as well! A page checking routine
     called CHECK-EJECT-PAGE would be a sucker shot in one!!

    Note: You are limited to 32756 records of output at a time,
     (maximum integer value) with this release of the program. That is
     between 200 and 300 pages, which is sufficient for most E-Mail!

   The Print menu now supports compressed printing, and a variable
     page number to allow re-printing of select pages in a sequence
     without having to print the entire document.

   The printing facilites have been extended to include double page
     printing for HP Laser output. (This facility allows printing of
     two pages of print on one piece of paper). Wjen using this there
     is a limit of 81 characters wide and 64 lines deep per page. If
     you enter width and page length parameters they will be ignored.
     Also page breaks every 64 lines are always enforced, so if you
     use page control of any kind you are responsible for making sure
     it fits to a 64 line page.

   You can direct the output to a file and print it later. ( Use the
     DOS copy command and specify the /B switch,



______________________________________________________________________


Mar 8, 1991              See Mail Information                   Page 9



       i.e. >>> copy lister.txt lpt1: /B
   as the file contains binary codes that are used by the HPLaser ).

   The printing facilites also now include facilities for HP Laser 3
     printing. (You can optionally modify the codes used by selecting
     the Setup printer option. However you must understand printer
     control codes before attempting this. The last three fonts in the
     list are configuable in this way.).

    You can combine fonts within a document by first printing it to
     disk and then APPENDING more lines with See Mail in a different
     font. Finally select the SEE-MAIL.TXT file and output it to the
     printer using the 'Printer Default' option.

   The program checks for an active printer if you specify either the
     default (LPT1) or any of the LAN printers.


Interfacing to Wordprocessors

   To produce a Wordperfect document in a format suitable for use with
     See Mail requires the following steps:

      1) Load WordPerfect file
      2) Configure WordPerfect
      3) Output report to file
      4) Exit Wordperfect and access file.

   Load your file into WordPerfect in the normal way. Then press
     Shift-F7 to enter the print menu. Press S to select printers,
     then press A to add addtional printers. Then move through the
     klist of printers until you find one called DOSprt - DOS test
     printer. Select this printer and press F7 to exit. Then press E
     to edit the details for the DOS printer. Press P for Port, and
     then option 8. Now enter the following >>> \print.txt
     This will send all output to a file called print.txt on your root
     directory.

   Once you have the DOS printer set up you can use shift-F7, and
     print the document.

   You should note that top and bottom margins should be set to a
     small value, just enough to accommodate the heading / footer
     lines and no more. Also if a page break symbol (hank) is visible
     ON THE SAME LINE as some text then ADD a line to your WordPerfect
     document, AND one space. See Mail will not print any lines
     containing a page break symbol.

   Interfacing with other wordprocessors is also possible. You should
     ensure that the wordprocessor can write to a DOS file. See next
     page for a description of using MicroSoft Word.






______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 10



   If it does not put page break symbols into the resultant file then
     you should insert a page symbol of your own either as the first
     line of the header, or the last line of the footer. You can then
     instruct See Mail to look for this symbol as a page delimiter.

   See Mail has default page symbols such as %page , so for example
     you could have the following header in your document:

    %page
                                 Page: 1
              This is a sample header
              =======================

      And the body of the document follows on here.
    %page
                                 Page: 2
              This is a sample header
              =======================

      And more text of the document is on page two.


    11 Interfacing continued


    To produce a MicroSoft Word document in a format suitable for use
     with See Mail requires the following steps:

      1) Load Word file
      2) Select Print from command menu
      3) Choose "Options", and select PLAIN printer
      4) Return to Print menu, and select "File".
      4) Supply a file name such as C:\PRINT.TXT
      4) Exit Word and access the C:\PRINT.TXT file.


Utilities

   There is an exit to DOS from inside the program to allow ready
     access to DOS commands not supported from the programs menu
     options.

   I issue the set command so you can see the DOS environment you have
     just entered. Entering EXIT will return you to the main program.

   File manipulating

   The current file can be copied, renamed, or deleted by selecting
     menu options.

   Memory status






______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 11



   This display allows you to see how much memory you currently have
     available, and are using. The value shown is the total free
     memory in bytes.


Setup & Configuration

   Before using the program you should first create a directory on
     your hard disk to contain your mail folders. Lotus Express users
     may re-use their existing MAILSYS directory, or may create a new
     directory such as MAIL. Use the Setup option to identify this
     directory to See Mail, and ensure you select save configuration
     following this.

   You should then select each of the other setup options and adjust
     those that apply to you, saving your final configuration before
     starting to use the program.

   If you are using shared databank's on a LAN then you should enter
     the location as a command line parameter when starting See Mail.

   I.e. >>> see-mail p:\shared

   There are several possible setup configurations:

   1) Single user system:

     i    -    MCIMail system only.
     ii   -    MCIMail system and databank.

   2) LAN user system:

     i    -    Internal mail system only.
     ii   -    MCIMail & Internal Mail.
     iii  -    MCIMail only.

   3) LAN user system:

     i    -    Internal mail, MCI Mail, and local databank
     ii   -    As i) but also including shared databank on LAN.

   In a LAN system the See Mail program can be located on the server
     only, or on each user machine, or a combination. Sharing a
     central copy of the program makes maintainance easier, and is the
     recommended approach. (Each user will have their own local set of
     See Mail *.cfg files and so can control their own preferences for
     display modes, printer defaults and so on).


Overview of DOS environment

   See Mail automatically senses the DOS directory that it was started
     from, and looks for configuration files located there first. By
     setting various parameters you can override this so that



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 12

     configuration files and or databank and mail files can be located
     in different directories. The recommended approach is to have
     your mail and databanks under one directory, with the program and
     configuration files under another, for single user systems. When
     you are sharing a LAN facility you need only have one directory
     on your local hard disk that holds your mail, databank and
     configuration files. (For a disk-less work station these files
     could be held in your private disk area on the file server you
     are accessing).

   See Mail makes extensive calls to the DOS file system. This means
     that running without using disk caching software or a large value
     for the DOS buffers command in the config.sys file, will result
     in slow access to your mail files.

   The See Mail program itself uses overlays to reduce its own memory
     requirement. The program is 700k but requires a base of only 330k
     to load into. However the program holds all lists of files and
     folders in memory. Consequently you will need to allow at least
     90k of free memory to be able to use all of its features. The
     program displays the amount of free memory, and updates it
     continually.

   When switching between folders you will be given the option to
     release them. You should do this if the folder is large and you
     will not need to refer back to them again. Similarly when
     searching across folders you may find that you have to limit the
     search of large folders to prevent See Mail running out of
     memory. Any folder with more than 50 mail items should be
     considered large. Archiving or deleting your older mail will
     therefore improve program performance. The tools provided make
     this task simple.

DOS batch files

   SM.BAT

   This sample batch file is for a single user system. If you would
     like to use it you should replace the %sm% with the name of the
     directory containing See Mail. From in the See Mail editor you
     can block mark the text, and then use <Alt-F5> to copy the block
     to a new file called [SM.BAT]. You should place this file in a
     directory that is included in your DOS path.

    @echo off
    rem This batch file runs the SEE-MAIL E-Mail utility.
    rem Version 1.0, July, 1990.
    rem Copyright : Gnosis Inc, Lanham, Maryland, USA.
    rem
    \%sm%\see-mail %1
    if errorlevel 1 goto :fail
    if errorlevel 0 echo <<< See Mail Ended OK >>>
    goto :exit
    :fail
    echo 
    echo <<< See Mail Aborted >>>
    pause
    mode 80
    :exit
______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 13

   This sample batch file is for use in a LAN system. It will
     automatically install See-Mail onto a user machine the first time
     it is called.

   @echo off
   if exist c:\mail\sm*.cfg goto :instlok
   echo Installing mail system..........
   md c:\mail
   md c:\mail\outgoing.fld
   md c:\mail\incoming.fld
   md c:\mail\drafts.fld
   copy p:\prj\oms\mail\*.cfg c:\mail
   :instlok
   echo Loading mail program...
   c:
   p:\prj\oms\mail\see-mail c:\mail
   if errorlevel=0 cls

Data bank

   This feature is provided for you to keep track of the people you
     correspond with. At the simplist level this can merely save you
     time looking up MCI Mail ID's. More advanced use includes cutting
     and pasting notes to and from the databank, and then also using
     the databank as a "To Do" list processor. Even more advanced is to
     customise the screens you use by setting up your own "*.SCR"
     screens for use with your databank.

   The most direct databank interface is to use the hot keys from
     within the editor. This way you can quickly add new entries of
     addresses from your mail items, or lookup existing entries. The
     main thing to remember is that pressing <F10> will save/update
     the databank, pressing <Esc> will exit with no changes.

   Using the databank pulldown menu allows you to create as many
     databank as you like. Also this allows you to make backups of your
     files using Export facility. (If your databank suffers a system
     error you can then recreate a new one by using the Import
     option).

   Customising screens is done by creating a screen with the same name
     as your databank, i.e. PERSONAL.SCR, for your PERSONAL databank.
     Use the editor to rearrange fields in your new screen. Some
     examples of different formats are provided. See Mail will always
     defaults to using the SEE-MAIL.SCR screen if it finds no others.

   By customising the screens it is possible to use the databank to
     track other items, such as a parts inventory, or systems problem
     logs, or any other small database that you need.

   The action codes list can be modified using the option provided in
     the databank pulldown menu. If then allows you to select databank
     entries based on action codes that you select. There are also the
______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 14



     special codes > for greater than, and < for less than, to select
     ranges of items.


Archiving

   Archiving uses either PKZIP or PKARC file compression programs. You
     must have either one of these programs available to use this
     feature. Use the Setup option to indicate which program you want
     to use. Ensure that the DOS Path is set correctly to allow
     See-Mail to locate the compression program.

   Archiving is highly recommended for folders that contain 50 or more
     items. You can selectively archive your older mail items and then
     merely recall them later if you have to.

   See Mail also makes this process very easy by maintaining two log
     files so you can review the items in the archive WITHOUT having
     to necessarily recall them. If you do need to recall something,
     the second log file is used to give you a point and select menu
     to choose the files you need back again.


Editing external files

   The program starts by displaying a pulldown menu. From this you can
     select the files facility to access DOS files other than those in
     your mail folders.

   Using the files facility you can then search for the file you
     require, (switch directories, or change the file mask as you
     require by pressing F4). Also you can re-size the window using
     Shift-F10, or toggle to a full screen mode using F5.

   The program then checks the first 512 bytes of your file to make
     sure it is a valid text file, and then displays the first page of
     the file. You can then move it to a mail folder, or just use the
     other tools and utilities on it as you require.


Toolkit Programs

   There are additional programs available for register users. These
     are being continual upgraded and added to. The current tools
     include:-

     mbxreset  - reset internal mailbox following a system crash.

     scrdef    - design your own screens for the databank program.

     plabel    - print labels from your databank addresses.






______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 15



Notes for Advanced Users

   A few notes for advanced users:-

   External file selection:-

   Firstly this is a built-in Prolog feature. There is currently a
     problem when displaying sub-directories with extensions.  They
     are displayed but can cause the list to corrupt when an attempt
     is made to select one. To select them you have to press F4 and
     enter the sub-directory name in full. (PDC are fixing this bug).
     If you press F4, don't start typing straight away, right arrow
     one space, and the existing file mask will be retained for edit-
     ing, rather than having to retype the whole thing again. (I.e. if
     it says C:\*.* then press right arrow, A,  left arrow, backspace,
     will change it to a:\*.* for you).
     When you Press F5 ZOOM, pressing F5 again toggles you back.

   After quitting the file selection process the program displays your
     file, and you can then proceed as you require. When you select
     the file tools for a second time the program will ask you if you
     want to automatically change the file selection parameters to
     match the pervious file that you chose. If you want to see all
     files displayed again, just press enter to continue.

   However, if you want to save you selection as a wild card, press
     either F for a wild card based on filename, or E for extension.
     The next time you select files, the default will be for the name
     or extension you have selected.

   Similarly, for the sub-directory. This DOES NOT change the DOS
     default directory however. (To do that use the Utilities DOS
     exit).


   Virus Protection:

   There is a function that checks for a trojan horse style virus
     attack on the program itself. If you receive this alarm when
     starting the program you should immediately alert your source of
     the program so counter measures can be taken.

   This feature can be disabled if you are using a disk compression
     program. Edit the SM-MISC.CFG file and create a second line with
     a key of 77, and parameter of 9999. Your completed SM-MISC.CFG
     file should then look something like this.

          miscell_vars(77,9999,1,"","","")
          miscell_vars(1,78,1,"p:\\mailbox","A001","")







______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 16


Credits

   To Carl Townsend for his Advanced Techniques in Turbo Prolog book;

   To my wonderful Marjorie for her support.



     --------------------------------------------

    "And I know it looks easy said Piglet,
     but it's not everyone that can do it..."

                   A.A. Milne.
     --------------------------------------------


Prolog error messages


    1001 Gstack overflow. Not enough memory or an endless loop.
    #
    1002 Heap overflow. Not enough memory or an endless loop.
    #
    1003 Requested block is too big (max 0xFFF0 bytes).
    Internal error which should not be caused by pure Prolog code.
    #
    1004 Mismatch between freed blocks size and internal record.
    Internal error which should not be caused by pure Prolog code.
    #
    1005 Attempt to release already released block.
    Internal error which should not be caused by pure Prolog code.
    #
    1006 Heap signature overwritten
    Internal error which should not be caused by pure Prolog code.
    #
    1008 Memory initialization failure.
    This indicates severe shortage of memory. The program is unable
    to start execution.
    #
    1010 Stack overflow.
    #
    1020 Trail overflow. Use trail=size to get more space.
    #
    1030 Arithmetic overflow in real operation.
    the range for reals is -1.0e308 .. 1.0e308.
    #
    1031 Arithmetic overflow in integer operation.
    The result cannot be stored in a 16-bit integer, which has a range
    of -32768 .. 32767.
    #
    1032 Division by zero.
    #

    ------------ IO & OS errors



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 17



    #
    1101 Attempt to open an already open file.
    Note that a symbolic file-name, declared with a file-domain,
    can only be used for one file at a time.
    #
    1102 Attempt to assign input device to a file that is not in
     readmode.
    The file was opened in write-only mode.
    #
    1103 Attempt to assign output device to a file that is not in
     writemode.
    The file was opened in read-only mode.
    #
    1104 The file isn't open.
    #
    1105 Illegal mode in filemode predicate, should be 0 or 1.
    '0' specifies Text mode, while '1' specifies Binary (raw) mode.
    #
    1106 Invalid operation on device.
    #
    1107 Eof can only be used during readmode.
    The file might be closed.
    #
    1108 Illegal device or path.
    #
    1109 Wrong number of arguments in the format string.
    #
    1110 File too big, or not enough memory for file.
    #
    1111 Wrong number of bytes read from file.
    This is either caused by a corrupt database or errors using the
     readblock predicate.
    #
    1112 Not able to write correct number of bytes to file.
    This is probably caused by a full disk.
    #
    1115 'unreadchar' failed because of full buffer (max 128
     characters).
    #
    1116 Failure in 'system' call.
    Either COMMAND.COM can not be found, or the indicated .EXE or .COM
     file
    can not be found.
    #
    1117 Error executing external program.
    The external program might be too big to be executed from the
     Prolog system or it might be an illegal EXE-file, or it remained
     resident. Try to execute the external program from the DOS shell
     to see what happens.
    #
    1118 Cannot access port(s).
    The port(s) cannot be reserved. Another program is probably using
     them.
    #



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 18



    1133 Incorrect operating system version.
    The OS version doesn't have the support required by the attempted
     operation.
    #
    ----------------------- SCR & WD Error's
    #
    1201 The arguments in 'makewindow' are illegal.
    Check that
     - the window number is in the range 1 .. 127
     - StartRow+NoOfRows <= no. of rows on screen (usually 25 or 43)
     - StartCol+NoOfCols <= no. of cols on screen (usually 80 or 120)
    #
    1202 The cursor values are illegal.
    The Row and Column must be inside the actual window.
    #
    1203 The window referred to does not exist.
    #
    1205 Maximum number of windows exceeded. ( The maximum is 34. )
    #
    1206 The arguments in 'resizewindow' are illegal.
    in resizewindow(StartRow,StartCol,NoOfRows,NoOfCols)
    Check that
     - StartRow+NoOfRows <= no. of rows on screen (usually 25 or 43)
     - StartCol+NoOfCols <= no. of cols on screen (usually 80 or 132)
     - Both StartRow and StartCol are positive.
    #
    1207 Scroll predicate is not supported in graphic.
    #
    1208 Not possible to set indicated textmode.
    #
    1209 Operation not possible on system windows.
    #
    1210 Illegal operation on a system window.
    #
    1211 The window is compressed.
    #
    1212 The window is expanded.
    #
   ----------------------- Database -------------------------

   1302 The database is already open.
   A given database selector can only be opened once.
   #
   1309 Error reopening the database during flush operation.
   'db_flush' closes and opens the file in order to flush the DOS
   buffers; there is sadly no other way of guaranteeing that the
   buffers really are flushed on a DOS-system.
   When the database file is opened again, the same name as before
   is used.  This may cause problems if the database was opened in
   the current (default) directory and this has been changed since
   then, as 'db_flush' will have closed it in the old directory and
   tries to look for it in the new directory.
   #
   1314 Unable to create the indicated database.



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 19



   #
   1315 Unable to open the indicated database in the given place.
   #
   1317 Database marked as invalid.
   Whenever a database is closed, or flushed, it is totally consistent and
   marked as valid; this is reverted to invalid when it's contents are
   changed. If the computer crashes with an invalid database, it isn't
   subsequently safe to open and use it as if nothing has happened. In this
   case you must try to write a short recovery/copy program, opening the
   database with the 'openinvalid' predicate and copying the contents as far
   as they go to a new database.
   #
   1319 Invalid database reference number.
   You are probably using a database reference number for a term you have
   deleted, or you have maybe two open databases and are referring to the
   wrong database.
   #
   1320 The chain does not exist in the database.
   #
   1321 The named B+Tree does not exist in the database.
   #
   1324 Key and ref not found in B+tree during key_delete.
   You either have a wrong combination of KEY and REF, or you are referring
   to a wrong B+Tree.
   #
   1327 Not inside transaction.
   The database was opened in sharemode, so all predicates that access the
   database must be placed inside a transaction.
   #
   1328 Write transaction not allowed when file opened in readonly.
   db_begintransaction was called with readwrite, but the database
   was opened as readonly.
   #
   1330 Begintransaction made twice without endtransaction.
   After a call of db_begintransaction, db_endtransaction must be called
   to mark the end of the transaction before another call to db_begintransaction.
   #
   1331 Update of the database not allowed in readonly mode.
   #
   #
   1332 Timeout in begintransaction
   After having tried RetryCount times with SleepPeriod intervals,
   db_begintransaction was unable to access the file.
   #
   1333 Key does already exist in B+Tree where dupplicates are not allowed.
   #
   1334 Wrong chain used in term_delete.
   #
   1314 Unable to create the indicated database.
   #
   1315 Unable to open the indicated database in the given place.
   #
   1316 No EMS installed.
   You can not use the option 'in_ems' in db_open and db_create if



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 20



   you have no EMS card installed.
   #
   1317 Database marked as invalid.
   Whenever a database is closed, or flushed, it is totally consistent and
   marked as valid; this is reverted to invalid when it's contents are
   changed. If the computer crashes with an invalid database, it isn't
   subsequently safe to open and use it as if nothing has happened. In this
   case you must try to write a short recovery/copy program, opening the
   database with the 'openinvalid' predicate and copying the contents as far
   as they go to a new database.
   #
   1318 Unable to delete database in the indicated place.
   #
   1319 Invalid database reference number.
   You are probably using a database reference number for a term you have
   deleted, or you have maybe two open databases and are referring to the
   wrong database.
   #
   1320 The chain does not exist in the database.
   #
   1321 The named B+Tree does not exist in the database.
   #
   1322 Invalid B+Tree selector for the given database.
   You are probably using a bt_selector for a B+Tree you have deleted, or
   you have maybe two open databases and are referring to the wrong database.
   #
   1323 Can not delete an open index. (Close it first)
   #
   1324 Key and ref not found in B+tree during key_delete.
   You either have a wrong combination of KEY and REF, or you are referring
   to a wrong B+Tree.
   #
   1325 Term too big for conversion.
   A single term must not occupy more than 64K for insertion in databases or
   transmission on a message pipe.
   #
   1326 Incorrect database system version.
   The database was not created with the same version of the database system
   as the one you are now using.
   #
   1327 Not inside transaction.
   The database was opened in sharemode, so all predicates that access the
   database must be placed inside a transaction.
   #
   1328 Write transaction not allowed when file opened in readonly.
   db_begintransaction was called with readwrite, but the database
   was opened as readonly.
   #
   1330 Begintransaction made twice without endtransaction.
   After a call of db_begintransaction, db_endtransaction must be called
   to mark the end of the transaction before another call to db_begintransaction.
   #
   1331 Update of the database not allowed in readonly mode.
   #



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 21



   1332 Timeout in begintransaction
   After having tried RetryCount times with SleepPeriod intervals,
   db_begintransaction was unable to access the file.
   #
   1333 Key does already exist in B+Tree where dupplicates are not allowed.
   #
   1334 Wrong chain used in term_delete.
   #
   -------------------------- Term Reader
   #
   1401 Integer expected (during term reading).
   #
   1402 Real number expected (during term reading).
   #
   1403 Double quote expected (during term reading).
   #
   1404 Single quote expected (during term reading).
   #
   1405 List start expected (during term reading).
   #
   1406 End of list expected (during term reading).
   #
   1407 Functor not found in domain (during term reading).
   #
   1408 '(' expected (during term reading).
   #
   1409 ',' or ')' expected (during term reading).
   -------------------------- Editor
   #
   1501 Editor text buffer full.
   #
   -------------------------- String handling
   #
   1601 String index error.
   A substring or subchar call with index values outside the string.
   #
   1602 Result string cannot be bigger than 64K.
   -------------------------- Directory browser
   #
   1901 Too many files.
   #
   -------------------------- Configuration loading
   #
   2001 Bad configuration file.
   #
   2002 Error reading Configuration file.

    -------------------------- Operating system errors
      Note that many of these only apply to the OS2
      version, and that for OS2 many of the messages
      are not applicable. They are, however, included
      for completeness.
    #
    7001 Invalid function number



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 22



    #
    7002 File not found
    #
    7003 Path not found
    #
    7004 Out of handles
    #
    7005 Access denied
    #
    7006 Invalid handle
    #
    7007 Memory control blocks destroyed
    #
    7008 Insufficient memory
    #
    7009 Invalid memory block address
    #
    7010 Invalid environment
    #
    7011 Invalid format
    #
    7012 Invalid access code
    #
    7013 Invalid data
    #
    7014 Unknown unit
    #
    7015 Invalid disk drive
    #
    7016 Cannot remove current directory
    #
    7017 Not same device
    #
    7018 No more files
    #
    7019 Disk write-protected
    #
    7020 Unknown unit
    #
    7021 Drive not ready
    #
    7022 Unknown command
    #
    7023 Data error (CRC)
    #
    7024 Bad request structure length
    #
    7025 Seek error
    #
    7026 Unknown type of medium
    #
    7027 Sector not found
    #
    7028 Printer out of paper



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 23



    #
    7029 Write fault
    #
    7030 Read fault
    #
    7031 General failure
    #
    7032 Sharing violation
    #
    7033 Lock violation
    #
    7034 Invalid disk change
    #
    7035 FCB unavailable
    #
    7036 Sharing buffer exceeded
    #
    7050 Unsupported network request
    #
    7051 Remote machine not listening
    #
    7052 Duplicate name on network
    #
    7053 Network name not found
    #
    7054 Network busy
    #
    7055 Device no longer exists on network
    #
    7056 NetBIOS command limit exceeded
    #
    7057 Error in network adapter hardware
    #
    7058 Incorrect response from network
    #
    7059 Unexpected network error
    #
    7060 Remote adapter incompatible
    #
    7061 Print queue full
    #
    7062 Insufficient memory for print file
    #
    7063 Print file canceled
    #
    7064 Network name deleted
    #
    7065 Network access denied
    #
    7066 Incorrect network device type
    #
    7067 Network name not found
    #
    7068 Network limit exceeded



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 24



    #
    7069 NetBIOS session limit exceeded
    #
    7070 File sharing temporarily paused
    #
    7071 Network request not accepted
    #
    7072 Print or disk redirection paused
    #
    7080 File already exists
    #
    7082 Cannot make directory
    #
    7083 Fail on Int 24H (critical error)
    #
    7084 Too many redirections
    #
    7085 Duplicate redirection
    #
    7086 Invalid password
    #
    7087 Invalid parameter
    #
    7088 Network device fault
    #
    7089 No process slots available
    #
    7090 System error
    #
    7091 Timer service table overflow
    #
    7092 Timer service table duplicate
    #
    7093 No limits to work on
    #
    7095 Interupted system call
    #
    7100 Open semaphore limit exceeded
    #
    7101 Exclusive semaphore already owned
    #
    7102 DosCloseSem Found semaphore set
    #
    7103 Too many exclusive semaphore requests
    #
    7104 Operation invalid at interrupt time
    #
    7105 Semaphore owner terminated
    #
    7106 Semaphore limit exceeded
    #
    7107 Insert drive B disk into drive A
    #
    7108 Drive locked by another process



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 25



    #
    7109 Write on pipe with no reader
    #
    7110 Open/create failed due to explicit fail command
    #
    7111 Buffer too small
    #
    7112 Disk is full
    #
    7113 No more search handles
    #
    7114 Invalid target handle for DosDupHandle
    #
    7115 Bad user virtual address
    #
    7116 Error on display write or keyboard read
    #
    7117 Invalid DosDevIOCtl category
    #
    7118 Invalid value for verify flag
    #
    7119 Driver does not support DosDevIOCtl
    #
    7120 Invalid function called
    #
    7121 Timed out waiting for semaphore
    #
    7122 Insufficient data in buffer
    #
    7123 Invalid character or bad filename
    #
    7124 Unimplemented information level
    #
    7125 No volume label found
    #
    7130 Invalid handle operation for direct disk access
    #
    7131 Cannot seek to negative offset
    #
    7132 Cannot seek on pipe or device
    #
    7133 Drive has previously joined drives
    #
    7134 Drive is already joined
    #
    7135 Drive is already substituted
    #
    7136 Drive is not joined
    #
    7137 Drive is not substituted
    #
    7138 Cannot join to joined drive
    #
    7139 Cannot substitute to substituted drive



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 26



    #
    7140 Cannot join to substituted
    #
    7141 Cannot substitute to joined drive
    #
    7142 Drive is busy
    #
    7143 Cannot join or substitute drive to directory on same drive
    #
    7144 Must be subdirectory of root
    #
    7145 Joined directory must be empty
    #
    7146 Path is already used in substitute
    #
    7147 Path is already used in join
    #
    7148 Path is being used by another process
    #
    7149 Cannot join or substitute drive having directory that is
     target of previous substitute
    #
    7150 System trace error
    #
    7151 DosMuxSemWait errors
    #
    7152 Systems limit on DosMuxSemWait calls exceeded
    #
    7153 Invalid list format
    #
    7154 Volume label too big
    #
    7155 Cannot create another TCB
    #
    7156 Signal refused
    #
    7157 Segment is discarded
    #
    7158 Segment was not locked
    #
    7159 Bad tread ID address
    #
    7160 Bad environment pointer
    #
    7161 Bad pathname for DosExecPgm
    #
    7162 Signal already pending
    #
    7163 Unknown medium
    #
    7164 No more threads available
    #
    7165 Monitors not supported
    #



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 27



    7180 Invalid segment number
    #
    7181 Invalid call gate
    #
    7182 Invalid ordinal
    #
    7183 Shared segment or system semaphore already exists
    #
    7186 Invalid flag number
    #
    7187 semaphore does not exist
    #
    7188 Invalid stating code segment
    #
    7189 Invalid stack segment
    #
    7190 Invalid module type
    #
    7191 Wrong EXE file header
    #
    7192 Invalid EXE file,LINK errors
    #
    7193 Invalid EXE format
    #
    7194 Iterated data exceeds 64 KB
    #
    7195 Invalid minimum allocation size
    #
    7196 Invalid dynamic link from ring 2 segment
    #
    7199 Automatic data segment exceeds 64 KB
    #
    7200 Ring 2 segment must be movable
    #
    7201 Relocation chain exceeds segment limit
    #
    7202 Infinite loop in relocation chain
    #
    7203 Environment variable not found
    #
    7204 Not current country
    #
    7205 NO process whit handler to receive signal
    #
    7206 Filename or extension too long
    #
    7207 Ring too stack in use
    #
    7211 File system information not available
    #
    7212 Locked error
    #
    7213 Bad dynamic link
    #



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 28



    7214 Too many modules
    #
    7234 Additional data is available
    #
    7240 Network session was canceled
    #
    7262 Stack too large
    #
    7303 Invalid process ID
    #
    7310 Cannot shrink DosSubSet segment
    #
    7311 Out of memory(DosSubAlloc)
    #
    7312 Invalid block specified(DosSubFree)
    #
    7313 Bad size parameter
    #
    7314 Bad flag parameter(DosSubSet)
    #
    7315 Invalid segment selector
    #
    7321 Unable to perform function
    #
    7324 No timers available
    #
    7326 Invalid timer handle
    #
    7327 Date or time invalid
    #
    7328 Internal system error
    #
    7350 Invalid pointer to parameter
    #
    7355 Unsupported screen mode
    #
    7356 Invalid cursor width value
    #
    7358 Invalid row value
    #
    7359 Invalid column value
    #
    7366 Invalid wait flag setting
    #
    7367 Screen not previously locked
    #
    7369 Invalid session ID
    #
    7370 No session available
    #
    7371 Session not found
    #
    7372 Title cannot be changed
    #



______________________________________________________________________


Mar 8, 1991              See Mail Information                  Page 29



    7373 Invalid parameter(Kbd)
    #
    7375 Invalid wait parameter
    #
    7376 Invalid length for keyboard
    #
    7377 Invalid echo mode mask
    #
    7378 Invalid input mode mask
    #
    7379 Invalid monitor parameters
    #
    7380 Invalid device name string
    #
    7381 Invalid device handle
    #
    7382 Buffer too small
    #
    7383 Buffer empty
    #
    7384 Data record too large
    #
    7389 Invalid display mode parameters
    #
    7391 Invalid entry point
    #
    7392 Invalid function mask
    #
    7394 Pointer drawn
    #
    7395 Invalid frequency for DosBeep
    #
    7399 Information truncated to fit buffer
    #
    7400 Selected type does not exist
    #
    7401 Selected type not in file
    #
    7448 Invalid code page
    #
    7461 Invalid data length
    #
    7469 Invalid code page specified
    #
    7470 System displays do not support code page
    #
    7477 Internal error
    #
    7482 DosSetCp unable to set display or keyboard code page
    #
    7487 Bad physical address

                      ╔═══════════════════════════╗
                      ║                           ║
                      ║    End of File            ║
                      ║                           ║
                      ╚═══════════════════════════╝
